
import javax.servlet.jsp.jstl.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


//mysql> create table Usuario(IDusuario int, user varchar(50),password varchar(50),nombres varchar(50),apellidos varchar(50),sexo varchar(50),pais varchar(50),direccion varchar(50),telefono varchar(50),fechaNacimiento varchar(50));
//mysql> insert into Usuario values (1,'diego','lol','Diego','Lopez','M','Guatemala','14av 1203 z12','1123123','1990-05-20');
//mysql> insert into Usuario values (2,'yefri','lol','Yefri','Lopez','M','Guatemala','11av 8990 z12','1127623','1990-05-21');
public class AccesoDatosBean {

	
	private static final String bdUser = "root";
	private static final String bdPass = "";
	private static Connection conexion;
	
	public AccesoDatosBean(){
		conexion = null;
	}
	
	public static Connection getConexion(){
		try{
			if(conexion == null){
				//Cargar clase de controlador de base de datos
				Class.forName("com.mysql.jdbc.Driver");
				//Crear el objeto de conexion a la base de datos
				conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2",bdUser,bdPass);
			}
			return conexion;
		} 
		catch(ClassNotFoundException ec){ System.err.println(ec.getMessage()); }
		catch(SQLException es){ System.err.println(es.getMessage()); }
		return conexion;
	}
	
	
	private static Statement getStatement(String usuario, String pass){
		try{
			if(conexion == null){
				//Cargar clase de controlador de base de datos
				Class.forName("com.mysql.jdbc.Driver");
				//Crear el objeto de conexion a la base de datos
				conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2",usuario,pass);
				//Retornamos objeto Statement para realizar querys a la base de datos
			}
			return conexion.createStatement();
		}
		catch(ClassNotFoundException ec){ System.err.println(ec.getMessage()); }
		catch(SQLException es){ System.err.println(es.getMessage()); }
		catch(Exception e){ System.err.println(e.getMessage()); }
		return null;
	}
	
	
	public static ResultSet executeQuery(String query) throws SQLException{
		Statement st = getStatement(bdUser, bdPass);
		return st.executeQuery(query);
	}
	
	public static int executeUpdate(String query) throws SQLException{
		Statement st = getStatement(bdUser, bdPass);
		return st.executeUpdate(query);
	}
	
	public Result getResultUsuarios(){
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","root","");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			ResultSet tabla = instruccion.executeQuery("select * from usuario");
			return (ResultSupport.toResult(tabla));
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			return null;
		}	
	
}

